program VEROM;

uses crt;
var c, g, f, b, x: integer;
    d: real;
    h: string[12];
    e: boolean;
    a: text;

BEGIN
clrscr;
writeln(' NOM DU FICHIER DE REFERENCE (sans extension) ? ');
readln(h);
h:=h+'.rom';
assign(a,h);
reset(a);     {ouverture du fichier.rom}
writeln;
writeln(' ATTENTION ! LE +5V DOIT ETRE COUPE ! ');
port[888]:=64;
writeln('CONNECTER LA MEMOIRE A LIRE, puis presser ENTER');
readln;
clrscr;
writeln(' APPLIQUER LE +5V, puis presser ENTER ');
readln;
writeln;
writeln('--------- COMPARAISON EN COURS ----------');
g:=0;        {boucle de lecture de tout le fichier}
repeat
    d:=0;
    for f:=0 to 7 do
        begin
        port[888]:=f;
        delay(25); {temporisation necessaire vu la vitesse du PC}
        b:=port[889];
        if (b and 64)=64 then d:=d+(exp(f*ln(2)));
        x:=round(d);
        end;
    port[888]:=32;
    read(a,c);
    e:=seekeof(a);
    if c<>x then writeln(g,' : ',x,' au lieu de  ',c);
    g:=g+1;
until e=true;
writeln;
writeln(' COMPARAISON TERMINEE ');
writeln(' COUPER LE +5V ');
writeln(' puis retirer la m‚moire ');
writeln(' TAPER ENTER POUR SORTIR DU PROGRAMME ');
close(a);
readln;
END.
